package com.hundsun.s3.common.util;

import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;

/**
 * @description:
 * @author:肖文轩
 * @date:2018/3/8
 **/
public class SpringBeanFactoryUtils implements ApplicationContextAware{
    /**
     * 创建ApplicationContext对象
     */
    private static ApplicationContext appCtx;
    /**
   * TODO: 此方法可以把ApplicationContext对象inject到当前类中作为一个静态成员变量。
   * @Auhor: Satellite
   * @Date : 2016年11月1日
   */
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        appCtx = applicationContext;
    }
    /**
   * TODO: 获取ApplicationContext
   * @Auhor: Satellite
   * @Date : 2016年11月1日
   */
    public static ApplicationContext getApplicationContext() {
        return appCtx;
    }
    /**
   * TODO: 这是一个便利的方法，帮助我们快速得到一个Bean
   * @Auhor: Satellite
   * @Date : 2016年11月1日
   */
    public static Object getBean(String beanName) {
        return appCtx.getBean(beanName);
    }
}
